home *** CD-ROM | disk | FTP | other *** search
Wrap
XSetup plugin | 2002-10-27 | 4.4 KB | 182 lines
"FILE"="Xteq Systems X-Setup Plugin 6.0" "TYPE"="8" "COUNT"="2" "UIPATH"="Internet\Internet Explorer\System" "NAME"="Browse Helper Objects" "VERSION"="1.00" "LANGUAGE"="VBScript" "TEXT 1"="Show Info" "TEXT 2"="Enable/Disable" "DESCRIPTION 1"="Browser Helper Objects (BHO) are DLLs, that are loaded in Internet Explorer as soon as IE starts." "DESCRIPTION 2"="Some BHOs, for example the Adobe Acrobat BHO, extend the use of IE and allow users to do things that would not be possible without BHOs." "DESCRIPTION 3"="However, some Spyware programs also use BHOs and there is no way in the normal IE configuration where they can be deactivated." "DESCRIPTION 4"="Simply click on "Show Info" to see which DLL is loaded when this BHOs is activated. To deactive it, click "Enable/Disable"." "AUTHOR"="Xteq Systems" "CONTACTURL"="http://www.xteq.com" "COPYRIGHT"="Copyright ⌐ Xteq Systems - All Rights Reserved" "COMMENT 1"="See also: BHOCaptor - Copyright (c) Adam Stiles - See http://www.xcaptor.org/ for updates" "COMMENT 2"="Also: http://support.microsoft.com/support/kb/articles/Q179/2/30.ASP" sPath="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\" sPath_CLSID="HKCR\CLSID\" dim iItems 'contains the total amount of the registry keys Dim aryItems() 'contains the name of the Registry paths (direct files starting with ".") Dim aryItemsLoc() 'contains the registry location (\ShellNew or \ShellNew-) Dim aryDesc() 'contains the description of the items Sub Plugin_Initialize iItems=0 if RegPathExists(sPath) then Call ReadRegistry else Call Disable end if End Sub Sub ReadRegistry for l=1 to iItems Call SetUIElement(l,"") next iItems=RegEnumPaths(sPath) ReDim aryItems(iItems) For l=1 to iItems 'get the GUID sGUID=RegEnumElement(l) aryItems(l)=sGUID bIsDeactivated=false if Left(sGUID,1)="-" then sGUID=right(sGUID,len(sGUID)-1) bIsDeactivated=true end if 'get the desc sName=RegReadValue(sPath_CLSID & sGUID & "\@") if len(sName)=0 then sName=sGUID end if if bIsDeactivated=false then Call SetUIElement(l,sName) else Call SetUIElement(l,sName & " [Deactivated]") end if next End Sub Sub GetInfo(Item) 'get the filename sFile=RegReadValue(sPath_CLSID & Item & "\InprocServer32\@") Call MsgInformation(sFile) End Sub Sub Plugin_Apply(ElementIndex,ElementSubIndex) if ElementSubIndex>0 then sGUID=aryItems(ElementSubIndex) bDeac=false if left(sGUID,1)="-" then sGUID=right(sGUID,len(sGUID)-1) bDeac=true else sGUID=sGUID bDeac=false end if if ElementIndex=1 then '//Information Call GetInfo(sGUID) else if bDeac=false then Call MoveFolder(sPath & sGUID, sPath & "-" & sGUID) else Call MoveFolder(sPath & "-" & sGUID, sPath & sGUID) end if Call ReadRegistry() Call MsgInformation("Changes made!") end if else Call MsgError("Please select an item") end if End Sub Sub MoveFolder(CurrentFolder,NewFolder) if right(CurrentFolder,1)<>"\" then CurrentFolder=CurrentFolder & "\" end if if right(NewFolder,1)<>"\" then NewFolder=NewFolder & "\" end if 'write a value Call RegWriteValue(CurrentFolder & "XSET Changed","yes",1) 'move values for base path Call MoveValues(CurrentFolder,NewFolder) 'check for any existing subfolder iC=RegEnumPaths(CurrentFolder) if iC>0 then Dim aryTemp() ReDim aryTemp(iC) for i=1 to iC aryTemp(i)=RegEnumElement(i) & "\" next for i=1 to iC sP_Old=CurrentFolder & aryTemp(i) sP_New=NewFolder & aryTemp(i) Call MoveValues(sP_Old,sP_New) Call RegDeletePath(sP_Old) next end if 'remove old path Call RegDeletePath(CurrentFolder) End Sub Sub MoveValues(OldFolder,NewFolder) iC=RegEnumValues(OldFolder) for i=1 to iC x_Name=RegEnumElement(i) x_Type=RegValueType(OldFolder & x_Name) x_Value=RegReadValue(OldFolder & x_Name) 'move to new location Call RegWriteValue(NewFolder & x_Name,x_Value,x_Type) 'delete old value Call RegDeleteValue(OldFolder & x_Name) next End Sub Sub Plugin_Terminate End Sub